
module WindowAdministration
( 
    adminWindow -- :: IORef CustomersDB -> ComboBox -> IO ()
)
where

import Graphics.UI.Gtk
import Data.IORef
import Customer
import MainHandler
import WindowNewCustomer
import WindowDefineNewHaircut
import WindowUtils

adminWindow :: IORef MainHandler -> ComboBoxEntry -> IO ()
adminWindow cdb combo = do 
  initGUI
  window <- windowNew
  windowSetPosition window WinPosCenter
  windowSetTitle window "Administracion"
  
  --Label para que no quede tan pegado arriba
  lab <- labelNew (Just "")
    
  -- Box vertical general
  vbox <- vBoxNew False 17
  -- Dos boxes horizontales auxiliares
  newCustomerVBox <- vBoxNew True 1
  newHaircutVBox <- vBoxNew True 1
  
  (label1,frame1) <- myLabelWithFrameNew
  labelSetText label1 "Opciones Administrativas"
  
  --Boton para Agregar nuevo Cliente
  buttonCtm <- buttonNewWithLabel "Agregar cliente"
  buttonCtm `onClicked` newCustomerWindow cdb combo 
  -- ...y la descripcion del boton
  nuevoCBotonDesc <- labelNew (Just "Permite agregar un nuevo cliente\na la base de datos")
    
  --Boton para Agregar nuevo Corte General...
  buttonHc <- buttonNewWithLabel "Gestión de Cortes Generales"
  buttonHc `onClicked` windowDefineNewHaircut cdb
  -- ...y la descripcion del boton
  nuevoHBotonDesc <- labelNew (Just "Utilice esta opción para agregar un\nnuevo corte a la base de datos")
  
 
  buttonBack <- buttonNewWithLabel "Volver"
  buttonBack `onClicked` widgetDestroy window 
  set window [windowDefaultWidth := 300, windowDefaultHeight := 500,
              containerBorderWidth := 10, containerChild := vbox]
              
  --EMPAQUETADO
  --Empaqueto los dos primeros bloques
  boxPackStart newCustomerVBox buttonCtm PackNatural 0
  boxPackStart newCustomerVBox nuevoCBotonDesc PackNatural 0
  boxPackStart newHaircutVBox buttonHc PackNatural 0
  boxPackStart newHaircutVBox nuevoHBotonDesc PackNatural 0
  
  --Empaqueto todo en la box principal
  boxPackStart vbox lab PackNatural 0
  boxPackStart vbox frame1 PackNatural 0
  boxPackStart vbox newCustomerVBox PackNatural 0
  boxPackStart vbox newHaircutVBox PackNatural 0
  boxPackEnd vbox buttonBack PackNatural 0
  
  widgetShowAll window